using System.Windows.Data;
using MusicStore.Silverlight.Views;
using MusicStore.Silverlight.Infrastructure;
using Structura.Silverlight.Infrastructure.ViewModel;
using MusicStore.Silverlight.Commands;

namespace MusicStore.Silverlight.ViewModels
{
	public interface ISearchViewModel : IViewModel
	{
		new ISearchView View { get; }

		/// <summary>
		/// Collection that will be used to expose the result of the search operation
		/// </summary>
		PagedCollectionView SearchResults { get; set; }

		/// <summary>
		/// performs an asyncronous search throught the webservice and returns the results filling in the SearchResults collection
		/// </summary>
		/// <param name="query"></param>
		void PerformSearch(string query);

        SearchCommand SearchCommand { get; set; }

        NavigateToAlbumCommand OpenAlbumCommand { get; set; }
	}
}